﻿#region Namespace References

using System;
using DynConDevCorp.OpenArch.SmartData.Core;
using DynConDevCorp.OpenArch.SmartData.Interfaces;
using DynConDevCorp.OpenArch.SmartData.Interfaces.Attributes;

#endregion

namespace DynConDevCorp.OpenArch.SmartData.NorthWindLoader
{
    public class Customer : SmartEntity
    {
        #region Constructors

        public Customer()
        {
        }

        public Customer(Guid EntityID)
            : base(EntityID)
        {
        }

        #endregion

        #region Public Instance Properties

        [AutoField]
        public ISmartField<String> Address { get; private set; }

        [AutoField]
        public ISmartField<String> City { get; private set; }

        [AutoField]
        public ISmartField<String> CompanyName { get; private set; }

        [AutoField]
        public ISmartField<String> ContactName { get; private set; }

        [AutoField]
        public ISmartField<String> ContactTitle { get; private set; }

        [AutoField]
        public ISmartField<String> Country { get; private set; }

        [AutoField]
        [Persist(IsXmlPersistable = true, IsDatabaseField = true, DatabaseFieldName = "CustomerID")]
        public ISmartField<string> CustomerCode { get; private set; }

        [AutoField]
        public ISmartField<String> Fax { get; private set; }

        [AutoField]
        public ISmartField<String> Phone { get; private set; }

        [AutoField]
        public ISmartField<String> PostalCode { get; private set; }

        [AutoField]
        public ISmartField<String> Region { get; private set; }

        #endregion
    }
}